package collection;

import lombok.SneakyThrows;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
 * @author ypz
 * @date 2021/9/17 9:37
 */
public class CollectionKnow {
    @SneakyThrows
    public static void main(String[] args) {
        //1、指定初始化容量
       ArrayList<Integer> list =  new ArrayList<>(6);
       for (int i = 1; i < 13; i++) {
           //2、i==6 开始第一次扩容 6+6*1.5=9 ；i==12 开始第二次扩容【如果是奇数的话，向下取整】9+9*1.5 = 13
            list.add(i);
       }
       list.get(1);
       //3、不指定初始化大小
        ArrayList<Integer> list1 = new ArrayList<>();
        for (int i = 1; i < 12; i++) {
            //4、i==1 进行第一次扩容，扩容大小为默认值即10， i==11，进行第二次扩容 10+10*0.5 = 15
            list1.add(i);
        }
       List<Integer> linkList = new LinkedList<>();
       linkList.add(3);
       linkList.remove(0);
        System.out.println(linkList);
       /*list.add(1);
       list.add(2);
       list.add(3);
       //错误代码，会生成一个iterator来遍历list,但同时list正在被iterator.remove()修改，java的Collection中不允许一个线程遍历，另一个线程修改。
        try {
            for (Integer i : list) {
                list.remove(i);
            }
        } catch (Exception e) {
        } finally {
        }
        Iterator<Integer> iterator = list.iterator();
        iterator.remove();
        System.out.println(list);*/
    }
}
